﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using LayerDTO;

namespace LayerDAO
{
    public class PhieuNhapDAO
    {
        public List<PhieuNhapDTO> LayDanhSachPhieuNhap(string connect)
        {
            DataTable dt = new DataTable();
            DataProvider _provider = new DataProvider(connect);
            if (_provider.OpenConnect())
                dt = _provider.SqlExcuteQuery("LayDanhSachPhieuNhap", null);
            if (_provider.Error != "")
                throw new Exception(_provider.Error);
            List<PhieuNhapDTO> list = new List<PhieuNhapDTO>();
            if (dt != null && dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    PhieuNhapDTO phieuNhap = new PhieuNhapDTO();
                    phieuNhap.MaPN = dt.Rows[i]["MPN"].ToString();
                    phieuNhap.NgayNhap =DateTime.Parse(dt.Rows[i]["NgayNhap"].ToString());

                    phieuNhap.DaXoa = bool.Parse(dt.Rows[i]["DaXoa"].ToString());
                    list.Add(phieuNhap);
                }
            }
            return list;
        }
        public string ThemPhieuNhap(PhieuNhapDTO phieuNhap, string connect)
        {

            DataProvider _provider = new DataProvider(connect);
            SqlParameter par = new SqlParameter("@return", SqlDbType.Int);
            par.Direction = ParameterDirection.ReturnValue;
            if (_provider.OpenConnect())
            {
                _provider.SqlExcuteScalar("ThemPhieuhNhap", new SqlParameter("@NgayNhap", phieuNhap.NgayNhap), par);
                                                             


            }
            if (_provider.Error != "")
                throw new Exception(_provider.Error);
            return par.Value.ToString();
        }
        public string SuaPhieuNhap(PhieuNhapDTO phieuNhap, string connect)
        {

            DataProvider _provider = new DataProvider(connect);
            SqlParameter par = new SqlParameter("@return", SqlDbType.Int);
            par.Direction = ParameterDirection.ReturnValue;
            if (_provider.OpenConnect())
            {
                _provider.SqlExcuteScalar("SuaPN",
                                                new SqlParameter("@maPN", phieuNhap.MaPN),
                                                new SqlParameter("@NgayNhap", phieuNhap.NgayNhap),
                                                new SqlParameter("@daXoa", phieuNhap.DaXoa),par);



            }
            if (_provider.Error != "")
                throw new Exception(_provider.Error);
            return par.Value.ToString();
        }


        public string XoaPhieuNhap(PhieuNhapDTO phieuNhap, string connect)
        {

            DataProvider _provider = new DataProvider(connect);
            SqlParameter par = new SqlParameter("@return", SqlDbType.Int);
            par.Direction = ParameterDirection.ReturnValue;
            if (_provider.OpenConnect())
            {
                _provider.SqlExcuteScalar("XoaPhieuNhap", new SqlParameter("@maPN", phieuNhap.MaPN), par);


            }
            if (_provider.Error != "")
                throw new Exception(_provider.Error);
            return par.Value.ToString();
        }
    }
}